﻿using TrackSystem.Entities.Dtos.Channel;
using TrackSystem.Entities.Models;
using TrackSystem.Entities.RequestFeatures;

namespace TrackSystem.Contracts
{
    public interface IChannelRepository : IRepository<ChannelTable, int>
    {
        Task<IEnumerable<ChannelTable>> GetAllListWithSensorAsync();
        PagedList<ChannelTable> GetPagedChannels(RequestParameter parameter);
        Task<ApiResult<ChannelDto>> InsertChannelAsync(ChannelDto channel);
        Task<ApiResult<ChannelDto>> UpdateChannelAsync(ChannelDto channel);
        Task<ApiResult<ChannelDto>> DeleteChannelAsync(int id);

    };
}
